home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
libs
/
knowhow4
/
move.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1994-10-10
|
1KB
|
56 lines
#include <math.h>
#include <alloc.h>
#include "move.h"
void move_rect(rect src, int sh, int dir)
{
int sx = 0;
int sy = 0;
if(dir == 0) // VERTICAL
sy = sh;
else
sx = sh;
void* im = (void*)malloc(imagesize(0, 0, src.width(), 0)); // image
register int i;
if(sh < 0)
{
for(i = 0; i < src.height(); i++)
{
getimage(src.origin.X, src.origin.Y + i,
src.corner.X,
src.origin.Y + i, im);
putimage(src.origin.X + sx, src.origin.Y + i + sy, im, 0);
}
}
else
{
for(i = src.height() - 1; i >= 0; i--)
{
getimage(src.origin.X, src.origin.Y + i,
src.corner.X,
max(src.origin.Y + i, src.origin.Y),
im);
putimage(src.origin.X + sx, src.origin.Y + i + sy, im, 0);
}
}
delete im;
}
//////////////////////
/*
void main()
{
int gdriver = DETECT, gmode;
initgraph(&gdriver, &gmode, "..\\BGI");
setfillstyle(SOLID_FILL, RED);
bar(0, 0, 500, 300);
line(0, 0, 500, 300);
line(0, 300, 500, 0);
rectangle(16, 16, 32, 32);
move_rect(rect(0, 0, 500, 300), 100, 0);
move_rect(rect(0, 100, 500, 400), 100, 1);
}
*/